Skip to content

Conversation

Leo6Leo
Copy link
Contributor

@Leo6Leo Leo6Leo commented Oct 6, 2025

Description

Add modal component for multi-group user impersonation:

  • TypeScript React component with group selection
  • Multi-select group input with search/filter
  • Chip display for selected groups
  • Form validation for username

Add modal component for multi-group user impersonation:
- TypeScript React component with group selection
- Multi-select group input with search/filter
- Chip display for selected groups
- Form validation for username
- Internationalization support
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 6, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Oct 6, 2025

@Leo6Leo: This pull request references CONSOLE-4782 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "4.21.0" version, but no target version was set.

In response to this:

Description

Add modal component for multi-group user impersonation:

  • TypeScript React component with group selection
  • Multi-select group input with search/filter
  • Chip display for selected groups
  • Form validation for username

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested review from cajieh and TheRealJon October 6, 2025 21:41
@openshift-ci openshift-ci bot added the component/core Related to console core functionality label Oct 6, 2025
Copy link
Contributor

openshift-ci bot commented Oct 6, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Leo6Leo
Once this PR has been reviewed and has the lgtm label, please assign vikram-raj for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated label Oct 6, 2025
Copy link
Contributor

openshift-ci bot commented Oct 7, 2025

@Leo6Leo: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/frontend 2cadf8d link true /test frontend
ci/prow/okd-scos-e2e-aws-ovn 2cadf8d link false /test okd-scos-e2e-aws-ovn

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@@ -0,0 +1,357 @@
import * as React from 'react';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avoid the react namespace import in new code

} from '@patternfly/react-core';
import { HelpIcon } from '@patternfly/react-icons/dist/esm/icons/help-icon';
import { TimesIcon } from '@patternfly/react-icons/dist/esm/icons/times-icon';
import { Modal, ModalVariant } from '@patternfly/react-core/deprecated';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

avoid deprecated components in new code

const [showAllGroups, setShowAllGroups] = React.useState(false);
const [groupSearchFilter, setGroupSearchFilter] = React.useState('');

// Mock group options - in real implementation, these would come from API
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be honest if we have to mock API in order for this PR to work I would put WIP in the title

type="button"
aria-label={t('public~More info for username field')}
onClick={(e) => e.preventDefault()}
style={{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inline styles to this extent are discouraged, try to find a pf component which solves your problem

type="button"
aria-label={t('public~More info for groups field')}
onClick={(e) => e.preventDefault()}
style={{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^

onSelect={handleGroupSelect}
toggle={toggle}
isScrollable
maxMenuHeight="300px"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this possibly causes issues with small height screens so add that to testing

isScrollable
maxMenuHeight="300px"
>
<SelectList id="select-typeahead-listbox">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use a less generic id name here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/core Related to console core functionality jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants